The present invention relates generally to an information providing apparatus and method, an information processing apparatus and method, and a program storage medium. More particularly, the present invention relates to an information providing apparatus and method, an information processing apparatus and method, and a program storage medium that provide contents and a key for decrypting it or use encrypted contents.
Referring to FIG. 1, there is shown a schematic diagram illustrating one configuration of a prior-art digital data transmission system. A personal computer 1 is connected to a communication network 4 constituted by a local area network or the Internet for example. The personal computer 1 receives music data (hereafter referred to as contents) from a contents server 22-1 or 22-2 or read from a CD (Compact Disk), compresses the received data by a predetermined compression scheme (for example, ATRAC3 (trademark)), encrypts them by a predetermined encryption algorithm such as DES (Data Encryption Standard), and records the resultant contents.
The personal computer 1 also records usage condition data indicative of the usage conditions of the recorded encrypted contents.
The usage condition data indicate the number of portable devices (also referred to as PDs) which can simultaneously use the contents compliant with the usage conditions (namely, the number of PDs that can checkout the contents, which will be described later), for example. When a piece of contents has been checked out by the number of times specified by the usage conditions, the personal computer 1 can reproduce this contents.
A display operation instructing program 11 of the personal computer 1 displays the data (for example, music title or usage conditions) associated with the contents recorded in the personal computer 1 and inputs a checkout instruction for example to make an LCM (Licensed Compliant Module) 12, a software module compliant with the SDMI (Secure Digital Music Initiative) standard, execute a checkout operation for example corresponding to the instruction.
The LCM 12 of the personal computer 1 is constituted by a group of modules which control the use of contents only when the usage conditions specified by the copyright holder of individual contents are satisfied, thereby preventing the copyright infringement based on noncompliant secondary use of the contents. The usage conditions include reproduction condition of the contents, copy condition, move condition, and accumulation condition.
The LCM 12 makes an authentication whether the devices connected to the personal computer 1 are compliant ones and executes the processing such as a movement of contents by a safe method. Along with this processing, the LCM generates a necessary key, manages the generated key, and encrypts the contents with this key, or controls the communication with the connected devices.
The LCM 12 also checks a loaded portable medium 3 for its validity, adds the usage conditions specified by a server 5 to the contents (encrypted), and stores the contents in the portable medium 3.
The LCM 12 of the personal computer 1 supplies t stored encrypted contents along with the data (for example, music title or usage conditions) associated with the contents to the a connected portable device 2 and accordingly updates the usage conditions (this update operation is hereafter referred to as a checkout). To be more specific, when a checkout is made, the permitted checkout count for the usage conditions for this contents is decremented by 1, the permitted checkout count being stored in the personal computer 1. When the checkout count is 0, the relevant contents cannot be checked out.
The portable device 2 stores in the loaded portable medium 3 the contents supplied from the personal computer 1 (namely, the checked out contents) along with the data (for example, a music title or usage conditions) associated with that contents.
The portable medium 3, incorporating a storage medium such as a flash memory, is constructed so as to detachably fit the portable device 2.
The portable device 2 reproduces the contents stored in the portable medium 3 on the basis of its usage conditions and outputs a reproduced signal to a headphone for example, not shown.
For example, if the user attempts the reproduction of a certain piece of contents stored in the portable device 2 in excess of a reproduction count set as a reproduction limit, the portable device 2 fails the attempt.
The user can remove the portable device 2 storing contents from the personal computer 1 to carry it about and reproduce the contents stored in the portable medium 3 to listen to the reproduced music for example by means of a headphone for example.
When the portable device 2 is connected to the personal computer 1 via a USB cable for example, the portable device 2 and the personal computer 1 cross-authenticate each other. This cross-authentication is based on a challenge-response scheme. In the challenge-response scheme, to a certain value (or a challenge) generated by the personal computer 1, the portable device 2 makes a response with a value (or a response) generated by use of a secret key shared by the personal computer 1.
A server 5-1 accumulates contents compressed and encrypted in predetermined algorithms and distributes the accumulated contents on demand from the personal computer 1. The server 5-1 has the capabilities of a key server 21-1, a contents server 22-1, and shop server 23-1.
The key server 21-1 accumulates contents keys for decrypting the contents supplied from the contents server 22-1 to the personal computer 1 and, in response to a request from the personal computer 1, supplies a relevant contents key to the personal computer 1. Before a contents key supply operation starts, the key server 21-1 and the personal computer 1 cross-authenticate each other. The key server 21-1 encrypts the contents key with a temporary key generated by the cross-authentication and sends the encrypted contents key to the personal computer 1. The personal computer 1 decrypts the received contents key with the shared temporary key.
Requested by the personal computer 1, the contents server 22-1 supplies the requested contents (encrypted) and its usage conditions to the personal computer 1 via a communication network 4.
The shop server 23-1 provides the digital data (including a contents list of music titles and prices for example) associated with the contents to be provided by the contents server 22-1 to the personal computer 1 and, in response to a contents purchase request from the personal computer 1, supplies the URL (Uniform Resource Locator) of the contents server 22-1 that supplies the requested contents and the URL of the key server 21-1 that supplies a contents key for decrypting the supplied contents to the personal computer 1.
A server 5-2 accumulates contents compressed and encrypted in predetermined algorithms and distributes the accumulated contents on demand from the personal computer 1. The server 5-2 has the capabilities of a key server 21-2, a contents server 22-2, and shop server 23-2.
The key server 21-2 accumulates contents keys for decrypting the contents supplied from the contents server 22-2 to the personal computer 1 and, in response to a request from the personal computer 1, supplies a relevant contents key to the personal computer 1. Before a contents key supply operation starts, the key server 21-2 and the personal computer 1 cross-authenticate each other. The key server 21-2 encrypts the contents key with a temporary key generated by the cross-authentication and sends the encrypted contents key to the personal computer 1. The personal computer 1 decrypts the received contents key with the shared temporary key.
Requested by the personal computer 1, the contents server 22-2 supplies the requested contents (encrypted) and its usage conditions to the personal computer 1 via a communication network 4.
The shop server 23-2 provides the digital data (including a contents list of music titles and prices for example) associated with the contents to be provided by the contents server 22-2 to the personal computer 1 and, in response to a contents purchase request from the personal computer 1, supplies the URL of the contents server 22-2 that supplies the requested contents and the URL of the key server 21-2 that supplies a contents key for decrypting the supplied contents to the personal computer 1.
Hereafter, if there is no need for making a distinction between the server 5-1 and the server 5-2, they are generically referred to as a server 5. Likewise, the key server 21-1 and the key server 21-2 are generically referred to as a key server 21. The contents server 22-1 and the contents server 22-2 are generically referred to as a contents server 22. The shop server 23-1 and the shop server 23-2 are generically referred to as a shop server 23.
The following describes a configuration of the capabilities of a prior-art digital data transmission system with reference to FIG. 2. In addition to the display operation instructing program 11 and the LCM 12, the personal computer 1 executes an IP (Internet Protocol) communication program 13, an ISP (Internet Service Provider) connection program 14, and a PHS (Personal Handyphone System)/IMT (International Mobile Telecommunication) communication program 15.
The PHS/IMT communication program 15 is for communication to be executed via a public switched line network 31. The ISP connection program 14 is for connection to an ISP 32. The IP communication program 13 includes protocols such as HTTP (HyperText Transport Protocol) 74 and WAP (Wireless Access Protocol) 75 and makes communication with the key server 21, the contents server 22, or the shop server 23 via the communication network 4.
The LCM 12 consists of a license management program 51, a download program 52-1, a download program 52-2, and a format management program 53.
The license management program 51 is for managing the usage of contents under the usage conditions of the contents and consists of a usage condition management program 61, a CD ripping program 62, and a PD authentication program 63.
The usage condition management program 61 controls, on the basis of the usage conditions of contents, the permission or prohibition of the checkout of the contents stored in the personal computer 1 and updates the usage condition data as the contents is checked out. The CD ripping program 62 reads contents from a CD loaded in the personal computer 1 and generates the usage conditions relevant to the read contents.
The PD authentication program 63 authenticates the portable device 2 loaded in the personal computer 1.
The download program 52-1 downloads contents and its contents key from the server 5-1 and consists of a key management program 64, a contents management program 65, a key information receiving program 66, and a contents information receiving program 67.
The key management program 64 authenticates the key server 21-1 and receives a contents key from the key server 21-1 to manage the received contents key in association with the contents. The key management program 64 consists of a server authentication program 71 and a receiving program 72.
The server authentication program 71 authenticates the key server 21-1 as will be described. The receiving program 72 receives a contents key from the key server 21-1 via the communication network 4.
The contents management program 65 receives contents and its usage condition data from the contents server 22-1 via the communication network 4 and record the received contents and its usage condition data. A receiving program 73 of the contents management program 65 receives the contents and its usage condition data from the contents server 22-1.
The key information receiving program 66 receives the URL of the key server 21-1 which supplies a contents key relevant to a desired piece of contents from the shop server 23-1. The contents information receiving program 67 receives, from the shop server 23-1, the contents ID for the contents requested by the user and the URL for identifying the contents server 22-1 that supplies the requested contents.
The download program 52-2 downloads contents and its contents key from the server 5-2 and is the same in configuration as the download program 52-1, its description being skipped.
The format management program 53 converts the coding algorithm and encryption algorithm of the contents downloaded from the contents server 22-1 or 22-2 into predetermined algorithms and encrypts the contents read from a CD by a predetermined algorithm. The format management program 53 consists of a system identification program 68 and a format conversion program 69.
The system identification program 68 identifies whether contents is downloaded from the server 5-1 or the server 5-2. The format conversion program 69 converts the encoding algorithm and encryption algorithm of the contents.
The portable device 2 executes a license management program 81, a key management program 82, and a contents management program 83.
The license management program 81 consists of a usage condition management program 91 for managing contents reproduction count on the basis of the usage conditions of the contents, a PC authentication program 92 for authenticating the personal computer 1, and a PM authentication program 93 for authenticating the portable medium 3.
The key management program 82 encrypts the contents key supplied from the personal computer 1 with a storage key stored in the portable medium 3 in advance and manages the encrypted contents key as stored in the portable medium 3.
The contents management program 83 manages the contents sent from the personal computer 1 as stored in the portable medium 3.
The portable medium 3 executes a license management program 101, a key management program 102, and a contents management program 103.
The license management program 101 has a PD authentication program 111 for authenticating the portable device 2 and stores the usage condition data of the contents, controlling the reading for example of the contents on the basis of the usage condition data. The key management program 102 encrypts the contents key supplied from the portable device 2 with the storage key stored in advance to manage the encrypted contents key. The contents management program 103 stores the contents supplied from the portable device 2 to manage the supplied contents.
The shop server 23-1 executes a key information sending program 121, a contents information sending program 122, a contents-access program 123, and an IP communication program 124.
The key information sending program 121 sends the URL of the key server 21-1 that supplies the contents key relevant to the contents requested by the user of the personal computer 1 to the personal computer 1 via the communication network 4.
The contents information sending program 122 sends the URL of the contents server 22-1 that supplies the contents requested by the user of the personal computer 1 to the personal computer 1 via the communication network 4.
The browsing program 123 consists of a viewing program 131 by which the user of the personal computer 1 can view and listen to the contents and a search program 132 by which the user of the personal computer 1 can search for desired pieces of contents.
The IP communication program 124 includes protocols such as HTTP 133 and WAP 134 for example and communicates with the personal computer 1 via the communication network 4.
The key server 21-1 executes an authentication program 151, a key distribution program 152, a key storage program 153, a key generation program 154, and an IP communication program 155.
The authentication program 151 authenticates the personal computer 1 for example. The key distribution program 152 distributes contents keys stored in the key storage program 153 to the authenticated personal computer 1. The key storage program 153 stores contents keys generated by the key generation program 154. The key generation program 154 generates contents keys in association with particular pieces of contents.
The IP communication program 155 includes protocols such as HTTP 171 and WAP 172 to communicate with the personal computer 1 for example via the communication network 4.
The contents server 22-1 executes a contents storage program 191, a contents distribution program 192, and an IP communication program 193.
The contents storage program 191 stores the encrypted contents in association with contents IDs. The contents distribution program 191 distributes, upon request from the personal computer 1, the contents corresponding to the contents ID stored in the contents storage program 191 to the personal computer 1.
The IP communication program 193 includes protocols such as HTTP 201 and WAP 202 to communicate with the personal computer 1 via the communication network 4.
The shop server 23-2 is generally the same in configuration as the shop server 23-1 and therefore its description will be skipped. The key server 21-2 is generally the same in configuration as the key server 21-1 and therefore its description will be skipped. The contents server 22-2 is generally the same in configuration as the contents server 22-1 and therefore its description will be skipped.
The following describes the prior-art processing in which the personal computer 1 downloads contents from the server 5-1 and checks out the downloaded contents to the portable device 2, with reference to the flowcharts shown in FIGS. 3 and 4. In step S101, the PHS/IMT communication program 15 of the personal computer 1 establishes a connection with the public switched line network 31. In step S201, a ground station for example, not shown, in the public switched line network 31 establishes a connection with the personal computer 1.
In step S102, the ISP connection program 14 of the personal computer 1 establishes a connection with the ISP 32. In step S301, the ISP 32 establishes a connection with the personal computer 1.
In step S103, the IP communication program 13 of the personal computer 1 establishes an IP communication with the shop server 23. In step S401, the IP communication program 124 of the shop server 23-1 establishes an IP communication with the personal computer 1.
In step S402, the contents-access program 123 of the shop server 23-1 sends the digital data for browsing (for contents selection) to the personal computer 1 via the communication network 4. In step S104, a browser program, not shown, of the personal computer 1 displays the image or text corresponding to the received digital data for browsing by the user. The browser program of the personal computer 1 also has capabilities of allowing the user to test-view the downloaded contents in a stream reproduction manner and the contents-access program 123 of the shop server 23-1 to search for a particular piece of contents by keyword to display the search results. The processes of steps S402 and S104 are repeated in accordance with the request by the user of the personal computer 1.
In step S105, the browser program of the personal computer 1 sends a purchase request to the shop server 23-1. In step S403, the contents-access program 123 of the shop server 23-1 receives the purchase request from the personal computer 1.
In step S404, the contents information sending program 122 of the shop server 23-1 sends, to the personal computer 1 via the network 4, the contents information including the URL of the contents server 22-1 that distributes the contents specified in the purchase request received in step S403. In step S106, the contents information receiving program 67 of the personal computer 1 receives the contents information from the shop server 23-1.
In step S405, the key information sending program 121 of the shop server 23-1 sends, to the personal computer 1 via the network 4, the key information such as the URL of the key server 21-1 that distributes the contents key of the contents specified in the purchase request received in step S403. In step S107, the key information receiving program 66 of the personal computer 1 receives the key information from the shop server 23-1.
In step S108, the IP communication program 13 of the personal computer 1 establishes an IP communication with the contents server 22-1 by use of the URL of the contents server 22-1 included in the contents information obtained in step S106. In step S501, the IP communication program 193 of the contents server 22-1 establishes an IP connection with the personal computer 1.
In step S109, the contents management program 65 of the personal computer 1 sends the contents ID obtained in step S106 to the contents server 22-1 via the communication network 4. In step S502, the contents server 22-1 receives the contents ID from the personal computer 1. In step S503, the contents distribution program 192 of the contents server 22-1 reads the contents (encrypted) corresponding to the contents ID received in step S502 from the contents storage program 191 and distributes the contents to the personal computer 1 via the communication network 4. In step S110, the receiving program 73 of the contents management program 65 of the personal computer 1 receives the contents from the contents server 22-1.
In step S111, the IP communication program 13 of the personal computer 1 establishes an IP communication with the key server 21-1 on the basis of the URL of the key server 21-1 contained in the key information obtained in step S107. In step S601, the IP communication program 155 of the key server 21-1 establishes an IP communication with the personal computer 1.
In step S112, the server authentication program 71 of the key management program 64 of the personal computer 1 authenticates the key server 21-1. In step S602, the authentication program 151 of the key server 21-1 authenticates the personal computer 1.
The key server 21-1 stores a master key KMS in advance and the personal computer 1 stores a private key KPP and the ID of the personal computer 1 in advance. The personal computer also stores a master key KMP in advance and the key server 21-1 also stores its ID and private key KPS in advance.
The key server 21-1 receives the ID of the personal computer 1 from the personal computer 1 and applies a hash function to the received ID and the master key KMS of the key server 21-1 to generate a same key as the private key KPP of the personal computer 1.
The personal computer 1 receives the ID of the key server 21-1 from the key server 21-1 and applies a hash function to the received ID and the master key KMP of the personal computer 1 to generate a same key as the private key KPS of the key server 21-1. Consequently, the common private key is shared between the personal computer 1 and the key server 21-1. By use of these private keys, a temporary key is generated.
In step S113, the key management program 64 of the personal computer 1 sends a contents ID to the key server 21-1. In step S603, the key server 21-1 receives the contents ID from the personal computer 1. In step S604, the key distribution program 152 of the key server 21-1 reads the contents key stored in the key storage program 153 in association with the contents ID and sends this contents key (encrypted by the temporary key) to the personal computer 1. In step S114, the receiving program 72 of the key management program 64 of the personal computer 1 receives the contents key from the key server 21-1. The key management program 64 decrypts the received contents key with the temporary key.
In step S115, the PHS/IMT communication program 15 of the personal computer 1 disconnects the communication with the public switched line network 31. In step S202, the ground station, not shown, of the public switched line network 31 disconnects the communication with the personal computer 1.
In step S116, the format management program 53 converts the coding algorithm and encryption algorithm of the contents received in step S110 into predetermined algorithms.
When the user of the personal computer 1 instructs the display operation instructing program 11 to check out the received contents, the processes of steps S117 and the subsequent processes are executed.
In step S117, the PD authentication program 63 of the license management program 51 of the personal computer 1 authenticates the portable device 2. In step S701, the PC authentication program 92 of the license management program 81 of the portable device 2 authenticates the personal computer 1.
The cross-authentication processes between the personal computer 1 and the portable device 2 in step S117 and step S701 is based on a challenge-response scheme. As compared with the cross-authentication between the key server 21-1 and the personal computer 1 in step S112 and step S602, the challenge response scheme needs less computational load. The personal computer 1 and the portable device 2 each generate a temporary key from the response by a same computational operation and share the generated temporary key.
In step S118, the contents management program 65 of the personal computer 1 distributes the encrypted contents to the portable device 2. In step S702, the contents management program 83 of the portable device 2 receives the contents from the personal computer 1 and supplies the received contents to the contents management program 103 of the portable medium 3. The contents management program 103 of the portable medium 3 stores the received contents.
It should be noted that the portable device 2 and the portable medium 3 cross-authenticate with other when the portable medium 3 is loaded in the portable device 2.
In step S119, the key management program 64 of the personal computer 1 distributes the contents key (encrypted with the temporary key shared between the portable device 2 and the portable medium 3) corresponding to the contents distributed in step S118 to the portable device 2. In step S703, the key management program 82 of the portable device 2 receives the contents key from the personal computer 1 and supplies the received contents key to the key management program 102 of the portable medium 3. The key management program 102 of the portable medium 3 decrypts the received contents key and stores the decrypted contents key.
The following describes the processing in which the personal computer 1 downloads contents from the server 5-2 and checks out the downloaded contents to the portable device 2, with reference to the flowcharts shown in FIGS. 5 and 6. The processes of steps S1101 through S1107 are executed by the server 5-2, the IP communication program 13, the ISP connection program 14, the PHS/IMT communication program 15, and the download program 52-2 and these processes are generally the same as the processes of steps S101 through S107, so that their descriptions will be skipped.
In step S1108, the IP communication program 13 of the personal computer 1 establishes an IP communication with the key server 21-2 on the basis of the URL of the key server 21-2 contained in the key information obtained in step S1107. In step S1601, the key server 21-2 establishes an IP communication with the personal computer 1.
In step S1109, the download program 52-2 of the personal computer 1 authenticates the key server 21-2. In step S1602, the key server 21-2 authenticates the personal computer 1. The processes of steps S1109 and S1602 are the same as those of steps S112 and S602.
In step S1110, the download program 52-2 of the personal computer 1 sends a contents ID to the key server 21-2. In step S1603, the key server 21-2 receives the contents ID from the personal computer 1. In step S1604, the key server 21-2 reads the contents key stored in association with the contents ID and sends the contents key (encrypted by the temporary key) to the personal computer 1 via the communication network 4. In step S1111, the download program 52-2 of the personal computer 1 receives the contents key from the key server 21-2. The download program 52-2 decrypts the received contents key with the temporary key.
In step S1112, the IP communication program 13 of the personal computer 1 establishes an IP communication with the contents server 22-2 on the basis of the URL of the contents server 22-2 contained in the contents information obtained in step S1106. In step S1501, the contents server 22-2 establishes an IP communication with the personal computer 1.
In step S1113, the download program 52-2 of the personal computer 1 sends the contents ID obtained in step S1106 to the contents server 22-2 via the communication network 4. In step S1502, the contents server 22-2 receives the contents ID supplied from the personal computer 1. In step S1503, the contents server 22-2 reads the contents (encrypted) corresponding to the contents ID received in step S1502 and distributes the contents to the personal computer 1 via the communication network 4. In step S1114, the download program 52-2 of the personal computer 1 receives the contents distributed from the contents server 22-2.
The processes of steps S1115 through S1703 are the same as those of steps S115 through S703 and therefore their descriptions will be skipped.
As described, the server 5-1 and the server 5-2 that supply contents and contents keys have different procedures for supplying contents and contents keys.
Therefore, the reception of contents from the server 5-1 and the server 5-2 requires different download programs 52-1 and 52-2 which correspond to the server 5-1 and the server 5-2 respectively.